/*
 * led_type.h
 *
 *  Created on: Mar 16, 2021
 *      Author: kychu
 */

#ifndef USERCODE_MAIN_LED_TYPE_H_
#define USERCODE_MAIN_LED_TYPE_H_

#include "led_strip.h"

typedef struct {
  int number;
  led_strip_t *strip;
} led_handle_t;

typedef struct {
  const char *name;
  int mode_id;
  void (*call)(led_handle_t *, const void *);
} led_mode_t;

int led_get_number(void);
void led_strip_mode_hsv(int mode, led_hsv_t hsv);
esp_err_t led_set_number(int n);
esp_err_t led_config_validate(const char *path);

#endif /* USERCODE_MAIN_LED_TYPE_H_ */
